﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BAL.Entities;
using DigitalAnts.App_Code.BAL.Components;
using System.Data;
using VMCLibrary.RegexServiceProvider;

namespace DigitalAnts.Admin
{
    public partial class Country : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Login() == false)
            {
                Response.Redirect("~/Admin/EmployeeLogin.aspx");
            }
            else
            {
                if (!IsPostBack)
                {
                    lbltitle.Text = "Bạn đang thêm dữ liệu";
                    showCountryList();
                    showUpdate();
                }
            }
        }

        public bool Login()
        {
            clsEmployee obj = new clsEmployee();
            obj.UserName = Session["AdminUser"].ToString();
            obj.Role = Session["Role"].ToString();

            return clsEmployeeLoginBAL.queryEmployeeLogin(obj);
        }

        public void addNewCountry()
        {
            RegexSpecificConfigManager validateUser = new RegexSpecificConfigManager();
            List<bool> val = new List<bool>();
            val.Add(validateUser.ValidateCustomUserName(txtcountry.Text.Trim()));
            if (val.IndexOf(false) >= 0) { lblmess.Text = "Dữ liệu lỗi"; }
            else{
            clsCountry obj = new clsCountry();
            obj.CoutryName = txtcountry.Text.Trim();
            if (clsCountryBAL.CheckCountryExist(obj) == true)
            {
                lblmess.Text = "Tên quốc gia đã tồn tại";
            }
            else
            {
                if (clsCountryBAL.doAddNewCountry(obj) == true)
                {
                    lblmess.Text = "Thêm thông tin thành công";
                    showCountryList();
                }
                else
                {
                    lblmess.Text = "Thêm thông tin thất bại";
                }
            }
            }
        }

        public void showCountryList()
        {
            gvcountry.DataSource = clsCountryBAL.doCountrySelectList();
            gvcountry.DataBind();
        }

        protected void bttsave_Click(object sender, EventArgs e)
        {
            if (Request["CountryID"] == null){
                addNewCountry();
            }
            else
            {
                RegexSpecificConfigManager validateUser = new RegexSpecificConfigManager();
                List<bool> val = new List<bool>();
                val.Add(validateUser.ValidateCustomUserName(txtcountry.Text.Trim()));
                if (val.IndexOf(false) >= 0) { lblmess.Text = "Dữ liệu lỗi"; }
                else{
                clsCountry obj = new clsCountry();
                obj.CountryID = Request["CountryID"];
                obj.CoutryName = txtcountry.Text;
                
                if(clsCountryBAL.doUpdateCountry(obj) == true){
                    lblmess.Text = "Cập nhật thành công";
                    showCountryList();
                }
                else {
                    lblmess.Text = "Cập nhật thất bại";
                }
                }
            }
        }

        public void showUpdate()
        { 
            if(Request["CountryID"] != null)
            {
                lbltitle.Text = "Bạn đang sửa thông tin";
                bttsave.Text = "Sửa";
                clsCountry obj = new clsCountry();
                obj.CountryID = Request["CountryID"];

                DataTable dt = clsCountryBAL.doCountrySelectListById(obj);
                txtcountry.Text = dt.Rows[0]["Country"].ToString();
            }
        }

        protected void gvcountry_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvcountry.PageIndex = e.NewPageIndex;
            gvcountry.DataBind();
        }
    }
}